<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>Document</title>
</head>
<body>
    <script>
      /* 1.创建数组 */
      var arr1 = new Array();
      
      /* 2.初始化数组的三种方式 */
      //第一种
      var arr2 = new Array();
      arr2[0] = 100;
      arr2[1] = 120;
      console.log(arr2);//[100,120]
      //第二种
      var arr2 = new Array(10,"a",true);
      console.log(arr2);//[10, "a", true]
      //第三种
      var arr2 = [10,"b",true];

      for(var i=0; i<arr2.length; i++){
         console.log(arr2[i]);//10,b,true
      }

      /* 3.数组的常用方法 */
      //3.1: tostring()：将数组转换成字符串
      var arr3 = [1,2,3,4];
      console.log("类型为："+ typeof(arr3)); //object

      var str = arr3.toString(); //将数组转化成字符串
      console.log(str +",类型为："+ typeof(str)); //1,2,3,4,类型为：string

      //3.2: join(连接符号)：将数组中的每个元素用连接符号连接成一个新的字符串。
      var str1 = arr3.join("-"); //将数组中的每个元素用-连接，形成一个全新的字符串
      console.log(str1 +",类型为："+ typeof(str1)); //1-2-3-4,类型为：string

      //3.3: concat(新元素)：将原来的数组连接新元素，原数组不变。
      var arr3new = arr3.concat(5,6);
      console.log(arr3new +",类型为："+ typeof(arr3new)); //1,2,3,4,5,6,类型为：object
      console.log("原数组不变："+ arr3); //1,2,3,4

      //3.4: slice(开始，结束)：在数组中提取一部分，形成新的数组。
      var arr4 = ['a','b','c','d','e','f','g','h'];
      var arr4new = arr4.slice(2,4);//包左不包右
      console.log(arr4new); // ["c", "d"]

      //3.5: reverse()：数组的反转（倒序）
      var arr5 = [31,12,111,444];
      console.log(arr5.toString()); //31,12,111,444
      arr5.reverse(); //将数组中的元素倒置
      console.log(arr5.toString()); //444,111,12,31

      //3.6: sort()：数组排序,
      var arr6 = [31,12,111,444];
      arr6.sort(); //字符排序（不会按照字面量的大小）
      console.log(arr6);//[111, 12, 31, 444]

      var arr7 = [31,12,111,444];
      arr7.sort(basket); //数字排序（会按照字面量的大小）
      console.log(arr7); //[12, 31, 111, 444]
      //定义排序函数
      function basket(a,b){
          return a-b;
      }

    </script>
</body>
</html>